From: Florian Müllner Date: Thu, 12 Apr 2018 17:25:37 +0000 (+0200) Subject: polkitAgent: Hide authentication dialogs while locked X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~970^2^2~2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=cb4252e888c651c5a11fa0cb4c330e9351d61f1b;p=gnome-shell.git polkitAgent: Hide authentication dialogs while locked Since commit 78a92fb6be we no longer pop up authentication dialogs on the lock screen, however any dialog that is already open at that time remains open. This is unexpected, so hide the dialog until the screen is unlocked again. https://gitlab.gnome.org/GNOME/gnome-shell/issues/166 --- diff --git a/js/ui/components/polkitAgent.js b/js/ui/components/polkitAgent.js index d14d9d3ac..316bc2ad1 100644 --- a/js/ui/components/polkitAgent.js +++ b/js/ui/components/polkitAgent.js @@ -40,6 +40,10 @@ var AuthenticationDialog = new Lang.Class({ this.userNames = userNames; this._wasDismissed = false; + this._sessionUpdatedId = Main.sessionMode.connect('updated', () => { + this._group.visible = !Main.sessionMode.isLocked; + }); + let icon = new Gio.ThemedIcon({ name: 'dialog-password-symbolic' }); let title = _("Authentication Required"); @@ -194,6 +198,12 @@ var AuthenticationDialog = new Lang.Class({ this._session.initiate(); }, + close(timestamp) { + this.parent(timestamp); + + Main.sessionMode.disconnect(this._sessionUpdatedId); + }, + _ensureOpen() { // NOTE: ModalDialog.open() is safe to call if the dialog is // already open - it just returns true without side-effects